45b076519d55b72d3e992625a65a204b59e54d70,src/main/java/de/thm/arsnova/dao/CouchDBDao.java,CouchDBDao,deleteAnswers,#Question#,908
Before Change
d.put("_deleted", true);
answersToDelete.add(d);
}
database.bulkSaveDocuments(answersToDelete.toArray(new Document[answersToDelete.size()]));
log("delete", "type", "answer", "answerCount", answersToDelete.size());
return answersToDelete.size();
After Change
view.setKey(question.get_id());
view.setIncludeDocs(true);
final ViewResults results = getDatabase().view(view);
final List<List<Document>> partitions = Lists.partition(results.getResults(), BULK_PARTITION_SIZE);
int count = 0;
for (List<Document> partition: partitions) {
List<Document> answersToDelete = new ArrayList<Document>();
for (final Document a : partition) {
final Document d = new Document(a.getJSONObject("doc"));
d.put("_deleted", true);
answersToDelete.add(d);
}
if (database.bulkSaveDocuments(answersToDelete.toArray(new Document[answersToDelete.size()]))) {
count += partition.size();
} else {
LOGGER.error("Could not bulk delete answers");